Digitally encoded products, such as software programs, can be perfectly reproduced in an infinite number of copies. This is a major concern for publishers of the products wishing to protect their intellectual property rights; as a matter of fact, the publishers typically receive royalties for each licensed use of the product, so that any unaccounted use or distribution of the product results in an unpaid royalty. The problem has been exacerbated in the last years by the widespread diffusion of the INTERNET, which further facilitates the uncontrolled distribution of this kind of products.
The most straightforward way of avoiding unaccounted usage of the digitally encoded products is that of preventing unauthorized copying and transmission. For example, most software programs embed control code that limits the number of copies that can be made or disables operation of the product after a predetermined period of time has lapsed. Another technique consists of requiring possession of a software or hardware key for running the product.
A different solution proposed in the art is that of installing a licensing management system on a computer of the customer, which system controls compliance of the products running on the customer computer with respective conditions of use authorised by the publisher (for example defining the maximum number of end-users that can run the product simultaneously). More specifically, the authorised conditions of use (translated into machine-readable form) are embedded in a digital license certificate, which is normally attached to the product. The product includes a call to the licensing management system, so that each time an end-user requires execution of the product a corresponding request is transferred to the licensing management system. The licensing management system verifies if the running of the product falls within the limits set out by the conditions of use embedded in the license certificate; the licensing management system enables or prevents execution of the product according to the result of the verification.
A drawback of the solution described above is that it is quite rigid, since the authorised conditions of use of the product must be agreed upon when the license certificate is installed on the customer computer. Therefore, the customer is compelled to purchase a new license certificate each time a change in an execution environment occurs (such as an increase in the number of end-users running the product simultaneously).
The new license certificate may also be distributed on line, for example through the INTERNET; the customer accesses a web site of the publisher, specifying the features of the new license certificate, and then download the license certificate on his or her computer. In this way, the process of purchasing the new license certificate is less time consuming. However, this solution does not remove the need to purchase a new license certificate for each change in the execution environment.
Open license certificates have been further proposed; in this case, the customer is allowed to make some changes to the authorised conditions of use of the product, in order to adapt the license certificate to the execution environment. The changes to the license certificate are logged by the licensing management system for customer reference. However, the customer is always forced to purchase a license certificate embedding conditions of use corresponding to the broadest envisaged use of the product; as a consequence, the customer incurs higher costs as a trade off for this additional freedom.
It is an object of the present invention to overcome the above-mentioned drawbacks. In order to achieve this object, a method as set out in the first claim is proposed.